28 #ifndef CurveClasses_H
29 #define CurveClasses_H
39 CurveClass(
bool a_reversecurve,
double a_MaxX,
double a_MinX,
const char* a_name);
41 virtual double GetY(
double a_X);
42 virtual void WriteDataFile(
int a_step );
62 virtual void CalculateCurveValues();
64 virtual double DoCalc(
double ) {
return 0; }
73 GompertzCurveClass(
double a_A,
double a_B,
double a_C,
bool a_reversecurve,
double a_MaxX,
double a_MinX,
const char* a_name);
85 virtual double DoCalc(
double a_x);
92 Polynomial2CurveClass(
double a_A,
double a_B,
double a_C,
double a_D,
bool a_reversecurve,
double a_MaxX,
double a_MinX,
const char* a_name);
109 virtual double DoCalc(
double a_x);
116 ThresholdCurveClass(
double a_A,
double a_B,
double a_C,
double a_D,
bool a_reversecurve,
double a_MaxX,
double a_MinX,
const char* a_name);
133 virtual double DoCalc(
double a_x);
138 HollingsDiscCurveClass(
double a_A,
double a_B,
bool a_reversecurve,
double a_MaxX,
double a_MinX,
const char* a_name );
147 virtual double DoCalc(
double a_x );
163 virtual double DoCalc(
double a_x);
Provides a flexible curve class which provides a quick way to calculate return values for any given x...
Definition: CurveClasses.h:37
double m_parameterMaxX
A parameter for a the maximum value of X we consider.
Definition: CurveClasses.h:45
string m_name
A scaler for the x-values.
Definition: CurveClasses.h:57
double * m_values
The values of y we store for each X.
Definition: CurveClasses.h:53
bool m_reversecurve
If true the values fall from 1 to zero, otherwise its zero to 1.
Definition: CurveClasses.h:59
virtual double DoCalc(double)
The specific calulation of y for a given x.
Definition: CurveClasses.h:64
double m_parameterMinX
A parameter for a the minimum value of X we consider.
Definition: CurveClasses.h:47
double m_step_inv
The inverse of m_step.
Definition: CurveClasses.h:51
double m_step
The size of each step on the X-axis.
Definition: CurveClasses.h:49
A Gompertz curve class.
Definition: CurveClasses.h:71
double m_parameterC
Parameter C.
Definition: CurveClasses.h:82
double m_parameterB
Parameter B.
Definition: CurveClasses.h:80
double m_parameterA
Parameter A.
Definition: CurveClasses.h:78
A Hollings Disc curve class - type II functional response.
Definition: CurveClasses.h:136
double m_parameterB
Parameter B.
Definition: CurveClasses.h:145
double m_parameterA
Parameter A.
Definition: CurveClasses.h:143
A curve for feeding time derived from Pettifor et al (2000). Journal of Applied Ecology 37: 103-135.
Definition: CurveClasses.h:151
double m_parameterC
Parameter C is the threshold floksize above which feeding time remains at maximum.
Definition: CurveClasses.h:161
double m_parameterA
Parameter A is the maximum feeding time.
Definition: CurveClasses.h:157
double m_parameterB
Parameter B is the minimum feeding time.
Definition: CurveClasses.h:159
A polynomial curve class.
Definition: CurveClasses.h:90
double m_parameterC
Parameter C.
Definition: CurveClasses.h:104
double m_parameterA
Parameter A.
Definition: CurveClasses.h:100
double m_parameterB
Parameter B.
Definition: CurveClasses.h:102
double m_parameterD
Parameter D.
Definition: CurveClasses.h:106
A rectangular threshold curve class.
Definition: CurveClasses.h:114
double m_parameterA
Parameter A is the return if between xmin & xmax.
Definition: CurveClasses.h:124
double m_parameterD
Parameter D is the xmax.
Definition: CurveClasses.h:130
double m_parameterC
Parameter C is xmin.
Definition: CurveClasses.h:128
double m_parameterB
Parameter B is the return if not between xmin & xmax.
Definition: CurveClasses.h:126